.fx-menu {
  background-color: $menu-background;
  height: 100%;
  overflow-y: auto;

  &.border {
    border-right: 1px solid $border-color-default;
  }
}

.fx-menu-item {
  box-sizing: border-box;
  width: 100%;
  height: $height-default;
  line-height: $height-default;
  transition: all 0.3s;
  font-size: 14px;
  list-style: none;
  cursor: pointer;
  padding: 0 20px;
  color: $font-color-important;
  @include text_hide(1);

  &:hover {
    background-color: $menu-active-background;
  }

  &.active {
    background-color: $menu-active-background;
    color: $menu-active-font-color;
  }
}

.fx-menu-item-group {
  > .title {
    font-size: 12px;
    color: $font-color-secondary;
    padding: 5px 20px;
  }
}

.fx-submenu {
  > .title {
    box-sizing: border-box;
    width: 100%;
    height: $height-default;
    line-height: $height-default;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    padding: 0 20px;
    justify-content: space-between;
    color: $font-color-important;

    &:hover {
      background-color: $menu-active-background;
    }

    &.active {
      background-color: $menu-active-background;
      color: $menu-active-font-color;
    }

    > .text {
      width: calc(100% - 20px);
      @include text_hide(1);
    }

    > span {
      display: inline-block;
      width: 20px;
      min-width: 20px;
      text-align: center;
      transform-origin: center center;
      transition: all 0.3s;
      position: relative;

      &::before, &::after {
        content: '';
        position: absolute;
        left: 3px;
        top: 0;
        bottom: 0;
        margin: auto 0;
        width: 8px;
        height: 1px;
        background-color: #000;
        transform-origin: center center;
        transform: rotate(45deg);
        transition: all 0.15s;
      }

      &::after {
        left: 9px;
        transform: rotate(-45deg);
      }

      &.open {
        &::before {
          transform: rotate(-45deg);
        }

        &::after {
          transform: rotate(45deg);
        }
      }
    }
  }

  > .content {
    padding-left: 10px;
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
    transform-origin: top center;
    transition: height 0.3s;
  }
}

